package biblioteca.servicio;

import java.util.Collection;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Required;
import org.springframework.stereotype.Service;
import biblioteca.dao.SocioDao;
import biblioteca.persistencia.Socio;
import com.google.appengine.api.datastore.Key;
import java.util.ArrayList;
import java.util.List;


@Service
public class SocioServicioImpl implements SocioServicio {
	
	private SocioDao socioDao;
	
	 @Autowired
	 @Required
	 public void setSocioDao(final SocioDao socioDao) {
	        this.socioDao = socioDao;
	    }
	
	@Override
	public void create(final Socio socio) {
		socioDao.insert(socio);
                System.out.println("create socio id= "+socio.getId());
	}

	@Override
	public void borrar(Key idSocio) {
		Socio socioborrar = socioDao.findByPK(Socio.class, idSocio);
		socioDao.remove(socioborrar);
	}

	@Override
	public Collection<Socio> getAllSocios() {		
		return socioDao.getAll(Socio.class);
	}

	@Override
	public int countAllsocios() {		
		return socioDao.countAll(Socio.class);
	}
        
        @Override
        public List<Socio> buscar(int criterio, String palabra) {

        List<Socio> resultados = new ArrayList();

        switch (criterio) {
         
            case 1: {
                Socio camarero = socioDao.findByDNI(Socio.class, palabra);
           
                if (camarero != null) {
                    resultados.add(camarero);
                }

                break;
            }
        }       
        return resultados;
    }
   
}
